using uTILLIty.Rave.Contract.Configuration;
using uTILLIty.Rave.Contract.StorageAdapter;

namespace uTILLIty.Rave.Core.Strategy
{
  /// <summary>
  /// Implementors provide a strategy for applying the <see cref="Configuration"/>
  /// </summary>
  public interface IConfigurationApplicatorStrategy : IMemberResolver
  {
    /// <summary>
    /// Applies the <see cref="ApplicatorContext">context</see> supplied to the target storage
    /// </summary>
    /// <param name="applicatorContext"></param>
    void Apply(ApplicatorContext applicatorContext);
  }
}